home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 4: GNU Archives / Linux Cubed Series 4 - GNU Archives.iso / gnu / enscript.4 / enscript / enscript-1.4.0 / src / prt_lpr.c < prev    next >
Encoding:
C/C++ Source or Header  |  1996-03-01  |  1.4 KB  |  58 lines

  1. /* 
  2.  * Printer interface for popen() / lpr systems.
  3.  * Copyright (c) 1995 Markku Rossi.
  4.  *
  5.  * Author: Markku Rossi <mtr@iki.fi>
  6.  */
  7.  
  8. /*
  9.  * This file is part of GNU enscript.
  10.  * 
  11.  * This program is free software; you can redistribute it and/or modify
  12.  * it under the terms of the GNU General Public License as published by
  13.  * the Free Software Foundation; either version 2, or (at your option)
  14.  * any later version.
  15.  *
  16.  * This program is distributed in the hope that it will be useful,
  17.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  18.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  19.  * GNU General Public License for more details.
  20.  *
  21.  * You should have received a copy of the GNU General Public License
  22.  * along with this program; see the file COPYING.  If not, write to
  23.  * the Free Software Foundation, 59 Temple Place - Suite 330,
  24.  * Boston, MA 02111-1307, USA.
  25.  */
  26.  
  27. #include "gsint.h"
  28.  
  29. /*
  30.  * Global functions.
  31.  */
  32.  
  33. FILE *
  34. printer_open (char *cmd, char *options, char *queue_param, char *printer_name,
  35.           void **context_return)
  36. {
  37.   char pipe_cmd[1024];
  38.   FILE *fp;
  39.  
  40.   sprintf (pipe_cmd, "%s %s %s%s", cmd,
  41.        options ? options : "",
  42.        printer_name ? queue_param : "",
  43.        printer_name ? printer_name : "");
  44.   fp = popen (pipe_cmd, "w");
  45.  
  46.   *context_return = fp;
  47.   return fp;
  48. }
  49.  
  50.  
  51. void
  52. printer_close (void *context)
  53. {
  54.   FILE *fp = (FILE *) context;
  55.  
  56.   pclose (fp);
  57. }
  58.